#pragma once

#include "stdafx.h"

#include <conio.h>
#include <stdio.h>
#include <windows.h>
#include <tchar.h>
#include <stdio.h>
#include <strsafe.h>
#include <string>

#include "IIndexableFile.h"

#include "ISearcheableFile.h"


class SearcheableHTMLFile : public ISearcheableFile, public IIndexableFile
{
	private:

		std::string fileName;

	public: 

		SearcheableHTMLFile(std::string& fileName);
		~SearcheableHTMLFile();

	    std::set<std::string>* search(std::set<std::string>& str, struct searchParameters params);
		void searchForIndexing(struct searchParameters params, std::set<int>* indexes, IndexMap* indexMap);
		
	    void buildIndex(IndexMap* map);
};